package com.hl.card.credit.pub.dao;

import java.util.List;

import com.hl.card.credit.pub.model.AbstractModel;

public interface AbstractDao<T, ID> {

	public void add(T t);

	public void update(T t);

	/**
	 * 修改记录，只修改只不为空的字段
	 * 
	 * @param t
	 */
	public void updateBySelective(T t);

	public void deleteById(ID id);

	public T queryById(ID id);
	
	public T queryDetail(AbstractModel model);

	public List<T> queryByPage(AbstractModel model);

	public int queryByPageCount(AbstractModel model);

	public T queryByCondition(AbstractModel model);

	public List<T> findAll();
	
	public List<T> queryAll(AbstractModel model);

}
